package com.ctbu.score.mapper;

import com.ctbu.score.domain.Teacher;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 教师数据访问接口
 **/
@Mapper
public interface TeacherMapper {

    /**
     * 根据教师编号和密码查询教师信息
     *
     * @param teaId   教师编号
     * @param teaPass 教师密码
     * @return 匹配的教师对象
     */
    @Select("select * from teacher where  tea_id=#{teaId} and tea_pass=#{teaPass}")
    Teacher selectTeacherByIdAndPass(@Param("teaId") String teaId, @Param("teaPass") String teaPass);

    /**
     * 查询所有教师信息
     *
     * @return 教师列表
     */
    @Select("select * from teacher")
    List<Teacher> selectAllTeacher();

    /**
     * 插入教师信息（不含密码）
     *
     * @param tea 教师对象
     * @return 插入操作影响的行数
     */
    @Insert("insert into teacher (tea_id,tea_name,tea_sex,tea_tele) values(#{teaId},#{teaName},#{teaSex},#{teaTele})")
    int insertTeacher(Teacher tea);

    /**
     * 插入带密码的教师信息
     *
     * @param tea 教师对象
     * @return 插入操作影响的行数
     */
    @Insert("insert into teacher  values(#{teaId},#{teaName},#{teaPass},#{teaSex},#{teaTele})")
    int insertTeacherHavaPass(Teacher tea);

    /**
     * 根据教师编号查询教师信息
     *
     * @param teaId 教师编号
     * @return 对应的教师对象
     */
    @Select("select * from teacher where  tea_id=#{teaId} ")
    Teacher selectTeacherByStuId(String teaId);

    /**
     * 根据教师编号删除教师信息
     *
     * @param teaId 教师编号
     * @return 删除操作影响的行数
     */
    @Delete("DELETE from teacher where tea_id=#{teaId}")
    int deleteTeaById(String teaId);
}

